package com.travel.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 聊天响应VO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "聊天响应结果")
public class ChatResponseVO {
    
    /**
     * 响应消息
     */
    @ApiModelProperty(value = "AI响应消息")
    private String message;
    
    /**
     * 会话标识符
     */
    @ApiModelProperty(value = "会话标识符，用于维持对话上下文")
    private String sessionId;
    
    /**
     * 成功标志
     */
    @ApiModelProperty(value = "请求是否成功")
    private Boolean success;
    
    /**
     * 错误信息
     */
    @ApiModelProperty(value = "错误信息，当success为false时返回")
    private String errorMessage;
    
    /**
     * 是否为流式响应
     */
    @ApiModelProperty(value = "是否为流式响应")
    private Boolean isStreaming;
    
    /**
     * 流式响应的消息块ID
     */
    @ApiModelProperty(value = "流式响应的消息块ID")
    private String chunkId;
    
    /**
     * 是否为流式响应的最后一个块
     */
    @ApiModelProperty(value = "是否为流式响应的最后一个块")
    private Boolean isLastChunk;
    
    /**
     * 消息ID
     */
    @ApiModelProperty(value = "消息ID")
    private String messageId;
} 